Alteryxの処理をデータベースで行う!In-DBを活用しよう
こんにちは、スズです。
本エントリは2020年アドベントカレンダー『今日からはじめるAlteryx再入門』の11日目のエントリです。
本日11日目は、『Alteryxの処理をデータベースで行う!In-DBを活用しよう』をお届けします。
執筆環境
本エントリの執筆環境は以下の通りです。
- Alteryx Designer 2020.4.5.12471 Non-Admin
- Windows 10 Pro
In-DBって何だろう?
データ入力ツールやセレクトツールなどの「通常の」ツールでは、実行したワークフローの処理はAlteryx Designerが搭載されているPCのリソースを使用します。処理速度はPCのスペックに依存し、処理可能なデータ量はPCのメモリに依存します。ワークフローに使っているデータは実行時にメモリに読み込まれ、メモリの中で順次処理を行います。
Alteryx Designerを動かすWindowsクライアントPCは、一般的には、ServerOSのようなメモリは搭載していないため、データベース上にある大規模なデータをローカルにもってきて通常のツールで処理を行うとメモリ不足になってしまうことがあります。メモリ不足を回避するためにデータのフィルターや集約など行ってからAlteryx Designerで利用するということもできますが、それではAlteryx Designerを利用する利点が薄くなってしまいます。
そこで利用できるのが、In-DB(In-Database/インデータベース)となります。In-DBではデータベース上で処理を行いますので、データベースのリソースを使用して処理を行うことができます。
In-DBを利用することで、例えば、データベース上にあるデータの準備をデータベース上で行い、準備ができたものをローカルに移動し、続けて分析を行う、といったことがAlteryx Designerから行えます。
In-DBってどうやって使うの?
ここからはIn-DBのツールについて、簡単にご紹介いたします。
なお、In-DBでの利用に対応しているデータベースは、Alteryxのヘルプに記載されています。In-DBの利用したい場合には、事前にデータベースが対応しているかご確認ください。また、各ツールの詳細についてもヘルプをご確認いただきますと幸いです。
データベースに接続する、接続In-DBツール
データベースに接続するには接続In-DBツールを使用します。
接続名の右端にある▼ボタンをクリックすると、接続先の設定画面が表示されますので、設定してデータベースに接続します。
データを確認できる、閲覧In-DBツール
通常のツールでも閲覧ツールがありますが、通常のツールの場合は閲覧ツールを接続しなくても各ツールの結果ウィンドウでデータの状態を参照することができます。しかしIn-DBの場合、データの状態を確認するためには閲覧In-DBツールを使用する必要があります。
通常の閲覧ツールには設定はありませんが、閲覧In-DBツールには閲覧するレコード数とキャッシュの設定が用意されています。
データをローカルからIn-DBへ、データストリーム入力ツール
ローカルにあるデータをIn-DBで利用したい場合に使用できるのが、データストリーム入力ツールです。接続先の情報のほか、テーブルの作成モードを選択します。
作成モードには、以下の3種類が用意されています。一時テーブルの場合はテーブル名の指定は不要ですが、それ以外の場合はテーブル名の指定が必要です。
- 一時テーブルを作成する
- 新しいテーブルを作成する
- テーブルを上書きする(ドロップ)
データをIn-DBからローカルへ、データストリーム出力ツール
先ほどのデータストリーム入力ツールとは逆に、In-DBのデータをローカルで利用したい場合に使用するのがデータストリーム出力ツールです。データストリーム出力ツールは設定なしでそのまま利用できますが、出力するデータをソートするオプションが用意されています。
その他のIn-DBのツール
ここでは一部のツールのまとめて紹介します。ここで紹介するツールは、In-DBではない通常のツールを思い出していただければ用途のイメージがつかみやすいかと思います。ただし、データベースのネイティブ言語(SQLなど)を使用することになりますので、通常のツールとは使い勝手が異なる点にご注意ください。
ツール | 説明 |
---|---|
サンプリングIn-DB | 数または百分率(%)で指定したレコードを抽出します。 |
セレクトIn-DB | 列の削除や並べ替え、列名の変更を行います。 |
データ書込In-DB | In-DBのデータをデータベースに書き込みます。 |
フィルターIn-DB | データベースのネイティブ言語を使用してレコードをフィルタリングします。 |
フォーミュラIn-DB | データベースのネイティブ言語を使用して式を設定し、列を新規作成または更新します。 |
ユニオンIn-DB | 列名や列の位置に基づいて、2つ以上のデータを結合します。 |
結合In-DB | 2つのデータを内部結合や外部結合します。 |
集計In-DB | データのグループ化や集計などを行います。 |
さいごに
『今日からはじめるAlteryx再入門』アドベントカレンダー、11日目In-DBについてご紹介しました。明日12日目はラフルによる『レポートを作成しよう(仮)』を予定しています。明日もお楽しみに!